Messaging applications that allow users to send short messages to each other over mobile computing devices are increasingly popular. A very common messaging application is the text messaging functionality provided with conventional cell phones. Text messaging allows users to send messages of limited size to one or more designated recipients. Current messaging applications between two or more computers (including mobile devices, such as smart phones and laptops) generally require satisfying one or both of the following conditions in order for messages to transmit successfully. First, the device must be connected to the Internet or the phone (cell) network. Second, at least one of the users must know the identity of another user. Thus, for example, in a one-to-one messaging application, each user must have the unique user identifier (e.g., phone number or user ID) of the other. For a one-to-many messaging application such as Twitter™, the user who is receiving the messages (e.g., the followers) must know the identity of the broadcaster from whom they wish to receive the messages. Neither of these solutions are well suited for sending messages to a group of people who are in a common geographic area but whose identities may not be known in advance.
Various messaging applications have been written to run on mobile devices, such as those using the Apple iOS™ or the Google Android™ operating systems. These applications, such as Facebook Messenger™, Twitter™, and Snapchat™, send messages over an Internet connection, provided either over a WiFi connection to the Internet, a hard-wired Internet link, or using a cellular network. However, if there is no Internet connection, the systems do not operate. Even if there is a WiFi hotspot available, a user must still manually connect to the hotspot router and that router must then be connected to the Internet.
Some consideration has been given to developing messaging software that allows communication between devices without an Internet or cellular connection by using the WiFi and Bluetooth communication hardware present in commercially available smart devices to connect devices in a mesh network. One such application is FireChat™, developed by Open Garden, and which uses a combination of Bluetooth and WiFi.
A drawback present in Bluetooth wireless technology, and various other wireless technologies as well, is that some type of user intervention is typically required for two devices to be paired or tethered with each other before they can communicate. Generally, a user of one device generally must make it ‘discoverable’ to outside devices and a user of the other device must enter a security code to verify the connection is to be made. As a result, it can be difficult and time consuming to add users to a local mesh network based on Bluetooth. One partial solution to this is set forth in Open Garden's U.S. Pat. No. 9,049,537. A list of the hardware MAC addresses and other information about known devices in the system is collected and then distributed in advance to devices that may need to connect to the network. This information is then used to send directed messages to potential target devices requesting a connection without the target device having to make itself discoverable. A problem with this method is that before a new device can join the network, that device must retrieve, through a separate network connection such as the Internet, the previously collected MAC information about the known devices.